package com.xintai.hetong.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xintai.common.core.domain.entity.SysUser;
import com.xintai.system.domain.ErpClient;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xintai.common.annotation.Excel;
import com.xintai.common.core.domain.BaseEntity;

/**
 * 合同管理对象 erp_hetong
 *
 * @author xintai
 * @date 2021-01-27
 */
public class ErpHetong extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 合同主键 */
    private Long htId;

    /** 合同系统编号 */
    @Excel(name = "系统编号")
    private String htCode;

    /** 合同类型：0 = 采购合同， 1 = 销售合同 */
    private Long htType;

    @Excel(name = "合同类型")
    private String htTypeStr;

    /** 货主ID */
    private Long htHzid;

    @Excel(name = "货主", targetAttr = "cName", type = Excel.Type.EXPORT)
    private ErpClient htHzClient;

    /** 供货商ID */
    private Long htGhsid;

    @Excel(name = "供货商", targetAttr = "cName", type = Excel.Type.EXPORT)
    private ErpClient htGhsClient;

    /** 产地 */
    @Excel(name = "产地")
    private String htChandi;

    /** 合同编号，纸质合同编号 */
    @Excel(name = "合同编号")
    private String htHtcode;

    /** 申请人ID */
    private Long userId;

    @Excel(name = "申请人", targetAttr = "nickName", type = Excel.Type.EXPORT)
    private SysUser sysUser;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date htTime;

    /** 备注 */
    @Excel(name = "备注")
    private String htRemark;

    /** 状态： 0， 待审核， 1， 审核中， 2，通过， 3，已完成 */
    private Long htFlag;

    @Excel(name = "状态")
    private String htFlagStr;

    /**合同明细列表*/
    private List<ErpHetongItem> erpHetongItemList;

    /**合同付款列表*/
    private List<ErpHetongFile> erpHetongFileList;

    public List<ErpHetongFile> getErpHetongFileList() {
        return erpHetongFileList;
    }

    public void setErpHetongFileList(List<ErpHetongFile> erpHetongFileList) {
        this.erpHetongFileList = erpHetongFileList;
    }

    public List<ErpHetongItem> getErpHetongItemList() {
        return erpHetongItemList;
    }

    public void setErpHetongItemList(List<ErpHetongItem> erpHetongItemList) {
        this.erpHetongItemList = erpHetongItemList;
    }

    public String getHtTypeStr() {
        return htTypeStr;
    }

    public void setHtTypeStr(String htTypeStr) {
        this.htTypeStr = htTypeStr;
    }

    public Long getHtId() {
        return htId;
    }

    public void setHtId(Long htId) {
        this.htId = htId;
    }

    public String getHtCode() {
        return htCode;
    }

    public void setHtCode(String htCode) {
        this.htCode = htCode;
    }

    public Long getHtType() {
        return htType;
    }

    public void setHtType(Long htType) {
        this.htType = htType;
    }

    public Long getHtHzid() {
        return htHzid;
    }

    public void setHtHzid(Long htHzid) {
        this.htHzid = htHzid;
    }

    public ErpClient getHtHzClient() {
        return htHzClient;
    }

    public void setHtHzClient(ErpClient htHzClient) {
        this.htHzClient = htHzClient;
    }

    public Long getHtGhsid() {
        return htGhsid;
    }

    public void setHtGhsid(Long htGhsid) {
        this.htGhsid = htGhsid;
    }

    public ErpClient getHtGhsClient() {
        return htGhsClient;
    }

    public void setHtGhsClient(ErpClient htGhsClient) {
        this.htGhsClient = htGhsClient;
    }

    public String getHtChandi() {
        return htChandi;
    }

    public void setHtChandi(String htChandi) {
        this.htChandi = htChandi;
    }

    public String getHtHtcode() {
        return htHtcode;
    }

    public void setHtHtcode(String htHtcode) {
        this.htHtcode = htHtcode;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public Date getHtTime() {
        return htTime;
    }

    public void setHtTime(Date htTime) {
        this.htTime = htTime;
    }

    public String getHtRemark() {
        return htRemark;
    }

    public void setHtRemark(String htRemark) {
        this.htRemark = htRemark;
    }

    public Long getHtFlag() {
        return htFlag;
    }

    public void setHtFlag(Long htFlag) {
        this.htFlag = htFlag;
    }

    public String getHtFlagStr() {
        return htFlagStr;
    }

    public void setHtFlagStr(String htFlagStr) {
        this.htFlagStr = htFlagStr;
    }

    @Override
    public String toString() {
        return "ErpHetong{" +
                "htId=" + htId +
                ", htCode='" + htCode + '\'' +
                ", htType=" + htType +
                ", htTypeStr='" + htTypeStr + '\'' +
                ", htHzid=" + htHzid +
                ", htHzClient=" + htHzClient +
                ", htGhsid=" + htGhsid +
                ", htGhsClient=" + htGhsClient +
                ", htChandi='" + htChandi + '\'' +
                ", htHtcode='" + htHtcode + '\'' +
                ", userId=" + userId +
                ", sysUser=" + sysUser +
                ", htTime=" + htTime +
                ", htRemark='" + htRemark + '\'' +
                ", htFlag=" + htFlag +
                ", htFlagStr='" + htFlagStr + '\'' +
                ", erpHetongItemList=" + erpHetongItemList +
                ", erpHetongFileList=" + erpHetongFileList +
                '}';
    }
}